#pragma once

struct SharedData;

class KRTSOperator
{
private:
    KRTSOperator();
    ~KRTSOperator();
    KRTSOperator(const KRTSOperator&) = delete;
    KRTSOperator(const KRTSOperator&&) = delete;
    KRTSOperator &operator=(const KRTSOperator&) = delete;

public:
    static KRTSOperator &GetInstance() {
        static KRTSOperator instance;
        return instance;
    }
    void Start();
    void Run();
    void Stop();
private:
    SharedData* shared_data{};
    int shared_data_handle{};
};

